from django.http import JsonResponse
from django.contrib.auth import authenticate, login, logout

# 登录
def signin(request):
    # 从 HTTP POST 请求中获取用户名、密码参数
    userName = request.POST.get('username')
    passWord = request.POST.get('password')

    # 使用 Django auth 库里面的方法校验用户名、密码
    user = authenticate(username=userName, password=passWord)
    # 如果能找到用户，并且密码正确
    if user:
        # user表中有个字段【is_active】，值为1或0
        if user.is_active:
            # user表中有个字段【is_superuser】，值为1或0
            if user.is_superuser:
                login(request, user)
                # 在session中存入用户类型，'usertype'的值是自己定义的
                request.session['usertype'] = 'mgr'
                return JsonResponse({'ret': 0})
            else:
                return JsonResponse({'ret': 1, 'msg': '请使用管理员账户登录'}, json_dumps_params={'ensure_ascii': False})
        else:
            return JsonResponse({'ret': 1, 'msg': '用户已经被禁用'}, json_dumps_params={'ensure_ascii': False})
    else:
        return JsonResponse({'ret': 1, 'msg': '用户名或者密码错误'}, json_dumps_params={'ensure_ascii': False})

# http://127.0.0.1/mgr/sign.html

# 登出
def signout(request):
    logout(request)
    return JsonResponse({'ret': 0})